package com.me.extend.resources

import android.content.Context
import android.view.View
import androidx.annotation.ArrayRes
import androidx.annotation.AttrRes
import androidx.annotation.IntegerRes
import androidx.fragment.app.Fragment
import com.me.extend.ctx.appCtx

fun Context.int(@IntegerRes intResId: Int): Int = resources.getInteger(intResId)
fun Fragment.int(@IntegerRes intResId: Int) = context!!.int(intResId)
fun View.int(@IntegerRes intResId: Int) = context.int(intResId)
fun appInt(@IntegerRes intResId: Int) = appCtx.int(intResId)

fun Context.intArray(@ArrayRes intArrayResId: Int): IntArray = resources.getIntArray(intArrayResId)
fun Fragment.intArray(@ArrayRes intArrayResId: Int) = context!!.intArray(intArrayResId)
fun View.intArray(@ArrayRes intArrayResId: Int) = context.intArray(intArrayResId)
fun appIntArray(@ArrayRes intArrayResId: Int) = appCtx.intArray(intArrayResId)

fun Context.styledInt(@AttrRes attr: Int): Int = withStyledAttributes(attr) { getInteger(it, -1) }
fun Fragment.styledInt(@AttrRes attr: Int) = context!!.styledInt(attr)
fun View.styledInt(@AttrRes attr: Int) = context.styledInt(attr)
fun appStyledInt(@AttrRes attr: Int) = appCtx.styledInt(attr)